using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Syncfusion.Windows.Forms.Grid;
using ctsu.Shared;

namespace ctsu.BaseForms
{
	public interface IBLCoreLabFormGridBase
	{
		event BusinessLogicEvents.BLGridColumnValueChangedHandler GridColumnValueChanged;
		event BusinessLogicEvents.BLGridValidateErrorEventHandler GridValidateError;
		Syncfusion.Windows.Forms.Grid.GridControl ChildGrid { get; set; }
		bool Initialize();
		void SetEnabled(bool enable);
		bool GetData(int id);
		void New();
		void AddRow(object obj, int index);
		void ReplaceRow(object obj, int index);
		void RemoveRow(int index);
		bool Save(int currentPrimaryID, out string message, Database db, DbTransaction transaction);
		void Reset(EditMode formMode, int id);
		void BindGridColumn(FormGridColumnMeta fgcm, GridStyleInfo gsi);
	}
}

